23 经典卷积神经网络 LeNet
- Lenet是早期运用CNN的成功的神经网络,发明者是YanLeCun
- 先使用卷积层来学习空间信息
- 最后使用全连接层来转换到类别空间

- 每个卷积层和线性层后面有个sigmoid函数,作用是非线性化

网络架构图
| Layer | Description | Input Size | Output Size | Weight | Flop |
|---|---|---|---|---|---|
| Input | 32×32 grayscale image | 1×1×32×32 | 1×1×32×32 | 0 | 0 |
| C1:Conv | Conv layer with 6filters of size 5×5,stride 1 | 1×1×32×32 | 1×6×28×28 | 1×6×5×5+6 | 1×5×5×outputsize |
| S2:Pooling | Pooling layer with 2×2 average pooling,stride 2 | 1×6×28×28 | 1×6×14×14 | 0 | 0 |
| C3:Conv | Conv layer with 16 filters of sizen 5×5,stride1 | 1×6×14×14 | 1×16×10×10 | 6×16×5×5+16 | 6×5×5×outputsize |
| S4:Conv | Conv layer with 2×2 average pooling,stride 2 | 1×16×10×10 | 1×16×5×5 | 0 | 0 |
| F5:Fully connected layer | Fully connected layer with 400 inputs,120 outputs | 400 | 120 | 400×120+120 | 400×120 |
| F6:Fully connected layer | Fully connected layer with 120 inputs,84 outputs | 120 | 84 | 120×84+84 | 120×84 |
| output | output layer with 84 inputs,10 outputs(10-class) | 84 | 10 | 84×10+10 | 84×10 |
数据集
- MNIST
超参数
- kernel大小,卷积层输出通道数,padding,stride,隐藏层个数
权重
- kernel的数值,最后的全连接层的参数,偏置项
复杂度
- 可学习权重:61686 (决定内存大小)
- 总flops:416520 (决定gpu能力)
损失函数
- 交叉熵函数
评估指标
- accuracy
QA

- 一般情况下,输出通道减少一半,输出通道会变成两倍

- Lua,pytorch的torch就是起源于lua语言